package semantico;

/**
 * Implementa o comando 'pare' para o laco 'enquanto' (break).
 * @author Cefanys
 */
public class DesvioPare extends Codigo{

	Codigo codigo;
	
	public DesvioPare() throws SemanticoException{
		if(Codigo.ENCERRAR == Codigo.NULL) montaErro(4, "");
		this.codigo = Codigo.ENCERRAR;
	}
	
	/**
	 * Gera codigo de tres enderecos
	 * @param inicio - marca o inicio do codigo para o comando.
	 * @param primeiraInstrucaoApos - marca a primeira instrucao apos o codigo do comando.
	 * @throws SemanticoException 
	 */
	public void gerar(int inicio, int primeiraInstrucaoApos) throws SemanticoException{ //chamado com rotulos begin e after
		emitirCodigo("goto L" + codigo.after);
	}
}